package com.rw.coco.api.data.persistence.simple;

import com.rw.coco.api.data.model.BotModel;
import com.rw.coco.api.data.persistence.BotMapper;

/**
 * 简单实现BotMapper类
 * 注意，如果实现这个类，则不保证调用原子性
 */
public abstract class SimpleBotMapper implements BotMapper, BaseSimpleMapper<BotModel> {
    /**
     * 获得机器人信息
     */
    @Override
    public BotModel getBotOrDefault(String id) {
        BotModel botModel = selectOne(id);
        if (botModel != null) {
            return botModel;
        }
        BotModel defaultModel = BotModel.getDefault(id);
        insert(defaultModel);
        return defaultModel;
    }

    /**
     * 操作机器人是否开启
     *
     * @param switchOn 是否开启
     */
    @Override
    public void botSwitch(boolean switchOn) {
        BotModel updateModel = new BotModel();
        updateModel.setSwitchOn(switchOn);
        update(updateModel);
    }
}
